工控網(wǎng)首頁(yè)
>

應(yīng)用設(shè)計(jì)

>

如何用軟件實(shí)現(xiàn)步進(jìn)電機(jī)細(xì)分驅(qū)動(dòng)

如何用軟件實(shí)現(xiàn)步進(jìn)電機(jī)細(xì)分驅(qū)動(dòng)

2008/11/12 9:55:00

一、引言 
        由于步進(jìn)電機(jī)成本低,控制線路簡(jiǎn)單,調(diào)試方便,所以在許多開環(huán)控制系統(tǒng)中得到了廣泛的應(yīng)用。但是當(dāng)步進(jìn)電機(jī)轉(zhuǎn)子運(yùn)動(dòng)頻率達(dá)到其機(jī)械諧振點(diǎn)時(shí),就會(huì)產(chǎn)生諧振和噪聲。
      為了克服機(jī)械噪聲可以改變驅(qū)動(dòng)方式,步進(jìn)電機(jī)的驅(qū)動(dòng)方式一般分為單相激勵(lì)、兩相激勵(lì)和半步激勵(lì)等。單相激勵(lì)時(shí)雖然具有輸入功率小,溫度不會(huì)升的太高的優(yōu)點(diǎn),但是由于振蕩厲害,控制不穩(wěn),所以很少采用。兩相激勵(lì)、半步激勵(lì)都可以提高平穩(wěn)度,減小機(jī)械振蕩。據(jù)此,采用細(xì)分驅(qū)動(dòng)控制減小噪聲是一種比較完善和理想的解決手段。
     

 二、步進(jìn)電機(jī)細(xì)分驅(qū)動(dòng)原理
      所謂細(xì)分驅(qū)動(dòng)就是把機(jī)械步距角細(xì)分成若干個(gè)電的步距角,當(dāng)轉(zhuǎn)子從一個(gè)位置轉(zhuǎn)到下一個(gè)位置的時(shí)候,會(huì)出現(xiàn)一些“暫態(tài)停留點(diǎn)”。這樣使得電機(jī)啟動(dòng)時(shí)的過(guò)調(diào)量或者停止時(shí)的過(guò)調(diào)量就會(huì)減小,電機(jī)軸的振動(dòng)也會(huì)減小,使電機(jī)轉(zhuǎn)子旋轉(zhuǎn)過(guò)程變得更加平滑,更加細(xì)膩,從而減小了噪聲。
 


圖1 電機(jī)驅(qū)動(dòng)示意圖
      首先介紹步進(jìn)電機(jī)整步驅(qū)動(dòng),我們以兩相混合式步進(jìn)電機(jī)57BYB406為例,它的步距角為1.8°。該電機(jī)有A,B兩相繞組,其中我們用C表示A通反向電流時(shí)的磁場(chǎng)-A,用D表示B通反向電流時(shí)的磁場(chǎng)-B。
      當(dāng)分別給各相繞組通電時(shí),各相繞組產(chǎn)生的旋轉(zhuǎn)磁場(chǎng)如下:僅有A相導(dǎo)通時(shí),旋轉(zhuǎn)磁場(chǎng)指向A;僅有B相導(dǎo)通時(shí),旋轉(zhuǎn)磁場(chǎng)指向B;僅有C相導(dǎo)通時(shí),旋轉(zhuǎn)磁場(chǎng)指向C;僅有D相導(dǎo)通時(shí),旋轉(zhuǎn)磁場(chǎng)指向D。依次為各相繞組通電,每切換一次,旋轉(zhuǎn)磁場(chǎng)矢量轉(zhuǎn)過(guò)90°,電機(jī)轉(zhuǎn)過(guò)一個(gè)步距角1.8°。當(dāng)旋轉(zhuǎn)磁場(chǎng)矢量轉(zhuǎn)過(guò)360°時(shí),電機(jī)轉(zhuǎn)過(guò)一個(gè)齒距,這種工作方式稱為整步工作。
      如果改變上述加電過(guò)程,采用四相八拍工作,即通電順序依次為:
    


      此工作方式稱半步工作,旋轉(zhuǎn)磁場(chǎng)的矢量變化如圖2所示。每改變一次通電狀態(tài),旋轉(zhuǎn)磁場(chǎng)的矢量轉(zhuǎn)過(guò)45°。
 


圖2 四細(xì)分驅(qū)動(dòng)磁場(chǎng)矢量圖
      同理,旋轉(zhuǎn)磁場(chǎng)轉(zhuǎn)過(guò)360°,電機(jī)轉(zhuǎn)過(guò)一個(gè)齒距。
      由半步原理給予啟發(fā),如果讓旋轉(zhuǎn)磁場(chǎng)矢量每次轉(zhuǎn)過(guò)22.5°,這樣就實(shí)現(xiàn)了四細(xì)分驅(qū)動(dòng)。其旋轉(zhuǎn)磁場(chǎng)矢量變化如圖3所示。
 


圖3 步進(jìn)電機(jī)四細(xì)分驅(qū)動(dòng)磁場(chǎng)矢量圖
      為了使電機(jī)輸出轉(zhuǎn)距大小一致,也就是使電機(jī)勻速轉(zhuǎn)動(dòng),我們控制流入A,B,C,D各相電流的大小,具體按公式sin2α+cos2α=1來(lái)計(jì)算。圖4給出了四細(xì)分驅(qū)動(dòng)時(shí)各相電機(jī)輸入電流值的變換曲線。
 


圖4 四細(xì)分驅(qū)動(dòng)轉(zhuǎn)距均勻輸出原理圖
     

三、細(xì)分驅(qū)動(dòng)在噴膜機(jī)的應(yīng)用
      1、噴膜機(jī)總體設(shè)計(jì)
      噴膜機(jī)中X方向細(xì)分驅(qū)動(dòng)控制如圖5所示。這里我們采用8052微處理機(jī),它是增強(qiáng)的MCS-51系列單片機(jī),具有8K字節(jié)的ROM,256字節(jié)的RAM。8位DA轉(zhuǎn)換器AD7524通過(guò)鎖存器與單片機(jī)的數(shù)據(jù)線相連,構(gòu)成步進(jìn)電機(jī)的脈沖信號(hào)發(fā)生器。如果該脈沖信號(hào)驅(qū)動(dòng)能力不夠大,可以在DA轉(zhuǎn)換器之后加一級(jí)放大器。產(chǎn)生的脈沖信號(hào)加在驅(qū)動(dòng)器NJM3770的VR引腳,用來(lái)驅(qū)動(dòng)步進(jìn)電機(jī)。
 


圖5 噴膜機(jī)X方向控制圖
      2、脈沖分配器的設(shè)計(jì)
      在噴膜機(jī)的設(shè)計(jì)中,我們采用軟件的方法實(shí)現(xiàn)脈沖分配器。將電機(jī)四細(xì)分驅(qū)動(dòng)脈沖數(shù)據(jù)存儲(chǔ)在內(nèi)存中,如表1所示。當(dāng)電機(jī)逆時(shí)針?lè)较蜻\(yùn)轉(zhuǎn)時(shí),自上而下走表索取控制量;當(dāng)電機(jī)順時(shí)針?lè)较蜻\(yùn)轉(zhuǎn)時(shí),自下而上走表索取控制量,這樣就可以控制電機(jī)上的電流的大小。其中控制量的最高位是方向控制信號(hào),低7位存儲(chǔ)電機(jī)脈沖信號(hào)的大小。
      如何實(shí)現(xiàn)7位數(shù)據(jù)的數(shù)模轉(zhuǎn)換呢?這里介紹兩種方法實(shí)現(xiàn)DA轉(zhuǎn)換。第一種方法的思想是:脈沖信號(hào)的大小用8位表示,但要求存儲(chǔ)的任何數(shù)據(jù)的最高位都為零,這樣就可以將DA轉(zhuǎn)換器的最高位直接接地,用最高位存儲(chǔ)方向控制信號(hào)。為了使存儲(chǔ)數(shù)據(jù)的最高位始終為零,就必須使數(shù)字信號(hào)的最大值不超過(guò)01111111,即模擬信號(hào)的大小最大為-VREF(127/256)。為了得到所需要的電壓值須將參考電壓VREF增大一倍。這樣鎖存器的最高位Q7表示方向位,接NJM3770的Phase引腳,鎖存器的Q0~Q6順次接DA轉(zhuǎn)換器的D0~D6,DA轉(zhuǎn)換器的最高位接地。
表1 電機(jī)四細(xì)分驅(qū)動(dòng)脈沖數(shù)據(jù)
 


      第二種方法的思想是:數(shù)據(jù)僅用7位表示,留下一位表示方向位。在設(shè)計(jì)中使鎖存器的Q0~Q6分別接AD7524的D1~D7,AD7524的D0位接地,鎖存器的Q7接NJM3770的Phase引腳。這種方法使得實(shí)際輸出的數(shù)據(jù)與理論所需數(shù)據(jù)之間會(huì)產(chǎn)生誤差,誤差率為1/256。在噴膜機(jī)的設(shè)計(jì)Vr=5V,V誤差=0.0195V,由于誤差很小,不會(huì)產(chǎn)生很大的影響,所以采用第二種方法。查看電機(jī)的參數(shù)表得知電流值Im=0.7A,所以我們?cè)谠O(shè)計(jì)當(dāng)中,應(yīng)該使電機(jī)中的電流不能大于0.7A。當(dāng)RS=0.68Ω,VR=5V時(shí),通過(guò)公式Im=(VR×0.080)/RS計(jì)算得到Im=0.588A,滿足設(shè)計(jì)要求。通過(guò)微調(diào)AD7524的參考電阻RREF,可以微調(diào)電機(jī)脈沖信號(hào)的大小,從而控制電機(jī)繞組上的電流值。按表1計(jì)算出四細(xì)分驅(qū)動(dòng)所需要的脈沖信號(hào)的大小,A,B兩項(xiàng)繞組上的脈沖變化如圖6所示。由于方向控制信號(hào)由AD7524的Q7位控制,所以繞組上的電流值只表現(xiàn)大小。
 


圖6 A,B兩相電機(jī)脈沖時(shí)序圖
      3、保護(hù)電路的設(shè)計(jì)
      步進(jìn)電機(jī)驅(qū)動(dòng)器采用NJM3770,它由一個(gè)與LS-TTL兼容的邏輯輸入端,一個(gè)電流感應(yīng)器,一個(gè)單穩(wěn)態(tài)多頻振蕩器,一個(gè)高壓H橋輸出端組成。具有以下特點(diǎn):只能驅(qū)動(dòng)步進(jìn)電機(jī)的一相,半步或者全步控制,開關(guān)模式的雙極性直流驅(qū)動(dòng),電流控制范圍5~1800mA,電壓范圍10~45V,過(guò)熱保護(hù),Phase為方向控制信號(hào),高電平時(shí)電流自MA→MB;低電平時(shí),電流自MB→MA。I0,I1控制電機(jī)上的電流輸出,變化情況如表2。
表2 I0,I1控制電機(jī)上的電流輸出,變化情況
 


      在驅(qū)動(dòng)器的設(shè)計(jì)中,如果電機(jī)上的電流太大,電機(jī)會(huì)發(fā)熱,而且繞組上電流變化過(guò)程中會(huì)產(chǎn)生很大的感應(yīng)電動(dòng)勢(shì),這樣就會(huì)損壞電機(jī),所以應(yīng)該具有相應(yīng)的保護(hù)措施。這里可以通過(guò)控制I0,I1來(lái)控制電機(jī)上的電流大小,我們可以采用60%的電流輸出,即I0=1,I1=0。并且要設(shè)計(jì)反向電流回路,來(lái)對(duì)感應(yīng)電動(dòng)勢(shì)進(jìn)行抑制。一般方法是采用浪涌吸收電路,最簡(jiǎn)單的辦法就是將一個(gè)二極管與各繞組并聯(lián),二極管的正向電壓較低,吸收效果較好,但二極管的通電時(shí)間長(zhǎng),不適用于高速開關(guān)電路。另外,二極管把繞組上的感應(yīng)電壓直接短路,阻尼效果很強(qiáng),電機(jī)的高頻特性變壞,因此這種結(jié)構(gòu)限于低速運(yùn)行的電路,在噴膜機(jī)的設(shè)計(jì)中,對(duì)電機(jī)的速度要求不高,因此采用這種方法。
      4、細(xì)分驅(qū)動(dòng)軟件設(shè)計(jì)
      步進(jìn)電機(jī)有啟動(dòng)頻率和最高頻率兩個(gè)參數(shù),為了使電機(jī)轉(zhuǎn)動(dòng)更加平穩(wěn),應(yīng)該有電機(jī)加速和減速程序,從而使得電機(jī)很快的到達(dá)運(yùn)行頻率而且不會(huì)出現(xiàn)失步。四細(xì)分驅(qū)動(dòng)流程圖見(jiàn)圖7。首先將表1放入內(nèi)存中,STEPNUML,和STEPNUMH分別存放步數(shù)的低8位和高8位,PHASE是方向控制信號(hào),R0存放表的項(xiàng)數(shù)。按照電機(jī)轉(zhuǎn)動(dòng)方向決定R0的初始值,依次從表中讀取數(shù)值,每發(fā)送一個(gè)數(shù)據(jù),電機(jī)走一步(0.45°),然后延時(shí)一段時(shí)間。根據(jù)延時(shí)的長(zhǎng)短,可以控制電機(jī)的速度,連續(xù)讀取數(shù)據(jù),電機(jī)就轉(zhuǎn)動(dòng)起來(lái)了。
 


圖7 流程圖
     

四、小結(jié)
      以上詳細(xì)的介紹了步進(jìn)電機(jī)四細(xì)分驅(qū)動(dòng)在噴膜機(jī)中的應(yīng)用,這一技術(shù)也可以推廣到其他數(shù)控裝置中,讀者也可以根據(jù)實(shí)際需要進(jìn)行細(xì)分,當(dāng)然分得越細(xì),控制越復(fù)雜,硬件電路要求也<

投訴建議

提交

查看更多評(píng)論
其他資訊

查看更多

step7 v5.4 中文版.part28

step7 v5.4 中文版.part16

S7-300教學(xué)

SEE Electrical 2005B130 cn

step7 v5.4 中文版.part05